package com.ruoyi.system.service;

import com.ruoyi.system.domain.SysBook;

import java.util.List;
import java.util.Map;

/**
 * 图书信息 服务层
 *
 * @author ruoyi
 */
public interface ISysBookService {
    /**
     * 查询所有书籍
     *
     * @return 书籍列表
     */
    public List<SysBook> selectBookAll();

    /**
     * 查询书籍信息集合
     *
     * @param book 书籍信息
     * @return 书籍信息集合
     */
    public List<SysBook> selectBookList(SysBook book);

    /**
     * 新增保存书籍信息
     *
     * @param book 书籍信息
     * @return 结果
     */
    public int insertBook(SysBook book);
    /**
     * 批量删除图书信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBookByIds(String ids);
    /**
     * 通过图书ID查询图书信息
     *
     * @param bookId 岗位ID
     * @return 角色对象信息
     */
    public SysBook selectBookById(Long bookId);
    /**
     * 修改图书信息
     *
     * @param book 图书信息
     * @return 结果
     */
    public int updateBook(SysBook book);

    /**
     * 导入图书数据
     *
     * @param bookList 图书数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @return 结果
     */
    public String importBook(List<SysBook> bookList, Boolean isUpdateSupport);
    /**
     * 校验图书名称
     *
     * @param book 图书信息
     * @return 结果
     */
    public boolean checkBookNameUnique(SysBook book);

    /**
     * 校验图书编码
     *
     * @param book 图书信息
     * @return 结果
     */
    public boolean checkBookCodeUnique(SysBook book);

    /**
     * 根据图书状态统计图书数量
     *
     * @return 结果
     */
//    public List<Map<String,Object>> accountByStatus();
}
